package tp1POO.Modelo;

import java.io.Serializable;
import java.util.Calendar;

/**
 * Classe para abrigar chaves primarias compostas para a classe Locacao
 * @author alan
 *
 */
public class LocacaoPK implements Serializable{
	private Veiculo veiculo;
	private Calendar dataSaida;

	public LocacaoPK() {
	}

	public int hashCode() {
		return (int) veiculo.hashCode();
	}

	public boolean equals(Object obj) {
		if (obj == this) return true;
		if (!(obj instanceof LocacaoPK)) return false;
		LocacaoPK pk = (LocacaoPK) obj;
		return pk.veiculo == veiculo && pk.dataSaida.equals(dataSaida);
	}

	/**
	 * Ajusta o veiculo da locacao
	 * @param veiculo O veiculo a ser ajustado
	 */
	public void setVeiculo(Veiculo veiculo) {
		this.veiculo = veiculo;
	}

	/**
	 * Obtem o veiculo
	 * @return o veiculo
	 */
	public Veiculo getVeiculo() {
		return veiculo;
	}

	/**
	 * Ajusta a data de saida da locacao
	 * @param dataSaida A data de saida da locacao
	 */
	public void setDataSaida(Calendar dataSaida) {
		this.dataSaida = dataSaida;
	}

	/**
	 * Obtem a data de saida da locacao
	 * @return a data de saida da locacao
	 */
	public Calendar getDataSaida() {
		return dataSaida;
	}
}